 package war.jogadores;

import java.awt.Image;
import java.awt.Rectangle;
import java.util.Random;

import javax.swing.ImageIcon;

import war.interfaces.InimigoIf;
import war.sons.Sons;

public class Meteoro implements InimigoIf{
	
	private boolean status;
	private Image imagem;
	private int velocidade;
	private int x,y;
	private int largura, altura;
	private Random aleatorio = new Random();
	private boolean morrendo;
	private Sons executar;
	
	public Meteoro(int velocidade){
		
		morrendo = false;
		setStatus(true);
		setVelocidade(velocidade);
		ImageIcon caminho  = new ImageIcon(".\\images\\inimigos\\inimigo2.png");
		imagem = caminho.getImage();
		
		setLargura(imagem.getWidth(null));
		setAltura(imagem.getHeight(null));
		
		executar = new Sons();
		
	}

	public void movimentar(){
		if(!morrendo) {
			int num = aleatorio.nextInt(500);

			if(getX() < -70){
				setX(900);
				setY(num);
			}else{
				setX(getX()-velocidade);
			}
		}
	}
	public void kill() {
		setMorrendo(true);
		executar.explosao();
		ImageIcon caminho  = new ImageIcon(".\\images\\inimigos\\explosao.gif");
		setImagem(caminho.getImage());
		Thread thread = new Thread() {
			public void run() {
				try {
					Thread.sleep(150);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				setStatus(false);
			};
		};
		thread.start();
	}
	
	public boolean isMorrendo() {
		return morrendo;
	}

	public void setMorrendo(boolean morrendo) {
		this.morrendo = morrendo;
	}

	public int getLargura() {
		return largura;
	}

	public void setLargura(int largura) {
		this.largura = largura;
	}

	public int getAltura() {
		return altura;
	}

	public void setAltura(int altura) {
		this.altura = altura;
	}

	public int getVelocidade() {
		return velocidade;
	}

	public void setVelocidade(int velocidade) {
		this.velocidade = velocidade;
	}

	public boolean isStatus() {
		return status;
	}

	public void setStatus(boolean status) {
		this.status = status;
	}

	public Image getImagem() {
		return imagem;
	}
	
	public void setImagem(Image imagem) {
		this.imagem = imagem;
	}

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}
	public boolean getStatus() {
		return status;
	}
	public Rectangle getBounds(){
		
		return new Rectangle(x,y,largura,altura);
	}

	@Override
	public void colisao() {
		// TODO Auto-generated method stub
		
	}
	
}
